What is pvtsutils?
The pvtsutils npm package provides a set of utilities for working with binary data, particularly in the context of cryptographic operations. It includes functions for encoding and decoding data, converting between different data formats, and performing various binary manipulations.
What are pvtsutils's main functionalities?
Base64 Encoding/Decoding
This feature allows you to encode and decode strings to and from Base64 format, which is commonly used in data transmission and storage.
const pvtsutils = require('pvtsutils');
// Encoding a string to Base64
const base64Encoded = pvtsutils.Convert.ToBase64('Hello, World!');
console.log(base64Encoded); // Outputs: 'SGVsbG8sIFdvcmxkIQ=='
// Decoding a Base64 string
const base64Decoded = pvtsutils.Convert.FromBase64(base64Encoded);
console.log(base64Decoded); // Outputs: 'Hello, World!'
Hex Encoding/Decoding
This feature allows you to encode and decode strings to and from Hex format, which is useful for representing binary data in a human-readable form.
const pvtsutils = require('pvtsutils');
// Encoding a string to Hex
const hexEncoded = pvtsutils.Convert.ToHex('Hello, World!');
console.log(hexEncoded); // Outputs: '48656c6c6f2c20576f726c6421'
// Decoding a Hex string
const hexDecoded = pvtsutils.Convert.FromHex(hexEncoded);
console.log(hexDecoded); // Outputs: 'Hello, World!'
ArrayBuffer Conversion
This feature allows you to convert strings to ArrayBuffer and vice versa, which is useful for handling binary data in web applications.
const pvtsutils = require('pvtsutils');
// Converting a string to ArrayBuffer
const arrayBuffer = pvtsutils.Convert.FromUtf8String('Hello, World!');
console.log(arrayBuffer); // Outputs: ArrayBuffer { byteLength: 13 }
// Converting an ArrayBuffer to a string
const utf8String = pvtsutils.Convert.ToUtf8String(arrayBuffer);
console.log(utf8String); // Outputs: 'Hello, World!'
Other packages similar to pvtsutils
buffer
The buffer package provides a way of handling binary data in Node.js. It includes methods for encoding and decoding data in various formats, similar to pvtsutils. However, buffer is more focused on Node.js environments and may not be as versatile for web applications.
base64-js
The base64-js package is a simple library for encoding and decoding Base64 data. It offers similar functionality to the Base64 encoding/decoding features of pvtsutils but does not include the broader range of binary data utilities.
crypto-js
The crypto-js package provides a variety of cryptographic algorithms and utilities, including encoding and decoding functions. While it offers more cryptographic features than pvtsutils, it may be overkill if you only need basic binary data manipulation.

pvtsutils
pvtsutils is a set of common utility functions used in various Peculiar Ventures TypeScript based projects.
Install
npm install pvtsutils
Using
const utils = require("pvtsutils");
The pvtsutils
namespace will always be available globally and also supports AMD loaders.
Types
There is an index.d.ts file which makes easy to use current module as external
Helpers
Convert
Helps to convert string
to ArrayBuffer
and back
Convert support next encoding types hex
, utf8
, binary
, base64
, base64url
. utf8
is default.
Examples
Converts string to buffer
const buf = Convert.FromString("some string", "hex");
Converts buffer to string
const str = Convert.ToString(buf, "utf8");
assign
Copies properties from objects to a target object. More info
Example
const obj = assign({}, {name: "Bob"}, {age: 12});
isEqual
Returns true
if 2 ArrayBuffers are equal
combine
Combines some ArrayBuffer
values
Example
const buf1 = new Uint8Array([1, 2, 3]);
const buf2 = new Uint8Array([4, 5, 6]);
const buf = combine(buf1, buf2);
Some example capabilities included in pvtsutils include:
- Converting values to adn from hex,
- Converting values to and from base64,
- Working with base64 url,
- Working with binary data.
- And more...